/**
*	@class IndexBuffer
*
*	@brief Base class for index buffer implementations
*
*	@author William McVicar
*/

#pragma once

#ifndef __INDEXBUFFERBASE_H_INCLUDED__
#define __INDEXBUFFERBASE_H_INCLUDED__

//  Library Includes

//  Local Includes
#include "Buffer.h"

//  Macros

//  Forward Declarations

//  Types

//  Constants

//  Prototypes

namespace Protein
{

class IndexBufferBase : public Buffer
{
	//Member Functions
public:

	IndexBufferBase();
	IndexBufferBase( i32 _iNumIndices, i32 _iIndexSize );
	~IndexBufferBase();

	inline c8* Data() const;
	inline void Offset( u32 _iOffset );
	inline i32 Offset() const;

protected: 

private: 

	//Member Variables
public:

protected: 

private: 

	u32 m_uiOffset;

};

#include "IndexBufferBase.inl"

}

#endif //__INDEXBUFFERBASE_H_INCLUDED__
